/**
 *   Copyright 2008 Alexey Vishentsev
 *
 *   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 * 
 */

package com.gwtspreadsheetinput.jsf.component;

import javax.faces.model.DataModel;

public abstract class SpreadSheetModel extends DataModel {
	/** Check if the current row is empty. If this method returns true
	 *  {@link #getRowData()} will return null.
	 *  @return true if row is available and row data object is empty.
	 **/
	public abstract boolean isRowEmpty();
	
	/**Deletes data object for the current row.*/
	public abstract void makeRowEmpty();
	/**Creates new data object for the current row.
	 **/
	public abstract void createRowDataObject();
	
	/** Data objects starting from current row
	 *  are removed. Also, empty rows immediately before current
	 *  row are cleared too. 
	 **/
	public abstract void clearFromCurrentRow();
}
